<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
    
        function Person(name,sex) {
            this.name = name;
            this.sex = sex
        }
        //为构造函数的原型对象添加 继承方法
        Person.prototype.extend = function(obj) {
            //将传入的obj对象的属性和方法 继承给实例对象
            for(var k in obj) {
                this[k] = obj[k];
            }
        }
        
        function Student(num) {
            this.num = num;
        }

        Student.prototype = new Person('jack','男');//原型链继承
        /*
            将一个实例对象 赋值 给 另一个构造函数的 原型对象 那么这个构造函数 就拥有了 这个实例对象的属性和方法（达到了继承的目的）
        */ 
        //实例化的学生对象 拥有Person 的属性和方法
        var stu = new Student('001');
        console.log(stu);
        
    </script>
</body>
</html>